home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 January: Mac OS SDK / Dev.CD Jan 99 SDK1.toast / Development Kits / Display Manager / Display Manager Sample Code / DMFkey Source / RequestVideo.h < prev   
Encoding:
C/C++ Source or Header  |  1996-03-05  |  3.0 KB  |  78 lines  |  [TEXT/MMCC]

  1. /*------------------------------------------------------------------------------
  2. #
  3. #    MacOS™ Sample Code
  4. #    
  5. #    Written by: Eric Anderson
  6. #     AppleLink: ERIC3
  7. #
  8. #    Display Manager sample code
  9. #
  10. #    RequestVideo
  11. #
  12. #    RequestVideo.h    -    C Header
  13. #
  14. #    Copyright © 1995 Apple Computer, Inc.
  15. #    All rights reserved.
  16. #
  17. #    Revision History:
  18. #
  19. #    5/31/95        ewa        Added RVGetCurrentVideoSetting and RVConfirmVideoRequest routines
  20. #                        to make it easy to revert back to where you came from and to give
  21. #                        the user a chance to confirm the new setting if the new mode was
  22. #                        valid (ie: the card supports it) but not safe (the monitor may not).
  23. #    5/24/95        ewa        Give the kAllValidModesBit requestFlags option for safe only or all
  24. #                        valid resolution timings.
  25. #
  26. #
  27. #
  28. #    Components:    PlayVideo.c            
  29. #                RequestVideo.c        
  30. #                RequestVideo.h        
  31. #                RequestVideo.rsrc        
  32. #
  33. #    For information on the use of this sample code, please the documentation in the Read Me file
  34. ------------------------------------------------------------------------------*/
  35.  
  36. #include <QuickDraw.h>
  37. #include <Video.h>
  38.  
  39. // requestFlags bit values in VideoRequestRec (example use: 1<<kAbsoluteRequestBit)
  40. enum {
  41.     kBitDepthPriorityBit        = 0,    // Bit depth setting has priority over resolution
  42.     kAbsoluteRequestBit            = 1,    // Available setting must match request
  43.     kShallowDepthBit            = 2,    // Match bit depth less than or equal to request
  44.     kMaximizeResBit                = 3,    // Match screen resolution greater than or equal to request
  45.     kAllValidModesBit            = 4        // Match display with valid timing modes (may include modes which are not marked as safe)
  46. };
  47.  
  48. // availFlags bit values in VideoRequestRec (example use: 1<<kModeValidNotSafeBit)
  49. enum {
  50.     kModeValidNotSafeBit        = 0        //  Available timing mode is valid but not safe (requires user confirmation of switch)
  51. };
  52.  
  53. // video request structure
  54. struct VideoRequestRec    {
  55.     GDHandle        screenDevice;        // <in/out>    nil will force search of best device, otherwise search this device only
  56.     short            reqBitDepth;        // <in>        requested bit depth
  57.     short            availBitDepth;        // <out>    available bit depth
  58.     unsigned long    reqHorizontal;        // <in>        requested horizontal resolution
  59.     unsigned long    reqVertical;        // <in>        requested vertical resolution
  60.     unsigned long    availHorizontal;    // <out>    available horizontal resolution
  61.     unsigned long    availVertical;        // <out>    available vertical resolution
  62.     unsigned long    requestFlags;        // <in>        request flags
  63.     unsigned long    availFlags;            // <out>    available mode flags
  64.     unsigned long    displayMode;        // <out>    mode used to set the screen resolution
  65.     unsigned long    depthMode;            // <out>    mode used to set the depth
  66.     VDSwitchInfoRec    switchInfo;            // <out>    DM2.0 uses this rather than displayMode/depthMode combo
  67. };
  68. typedef struct VideoRequestRec VideoRequestRec;
  69. typedef struct VideoRequestRec *VideoRequestRecPtr;
  70.  
  71. // Routine defines
  72. OSErr RVRequestVideoSetting(VideoRequestRecPtr requestRecPtr);
  73. OSErr RVGetCurrentVideoSetting(VideoRequestRecPtr requestRecPtr);
  74. OSErr RVSetVideoRequest (VideoRequestRecPtr requestRecPtr);
  75. OSErr RVConfirmVideoRequest (VideoRequestRecPtr requestRecPtr);
  76. OSErr RVSetVideoAsScreenPrefs (void);
  77.  
  78.